package top.purity.server.sso.feign.input;

import top.purity.framework.common.GlobalConstant;
import top.purity.server.sso.feign.input.dto.LoginDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * path 表示 对应服务的 context-path
 * contextId 表示 如果存在多个 同服务的 feign 接口，那么 contextId相当于别名
 */
@FeignClient(value = "user", contextId = "user", path = "/user")
public interface UserFeign {

    String PREFIX = GlobalConstant.RPC_PREFIX + "/user";

    /**
     * 登陆时根据账号和租户编号获取用户的基本信息
     * @param username 账号
     * @param tenantCode 租户编号
     * @return 基本信息
     */
    @PostMapping(PREFIX + "/getByUsernameAndTenantCode/{username}/{tenantCode}")
    LoginDTO getByUsername(@PathVariable("username") String username, @PathVariable("tenantCode") String tenantCode);

}
